/**
 * 获取一个socket连接 并且打开socket通道
 * @param ip socket服务器地址  如127.0.0.1
 * @param port socket服务器开启的端口 如8080
 * @param res socket服务器的资源地址 如/res/param
 * 如地址：127.0.0.1:8080/websocket/123
 * @returns 
 */
 function useWebSocket(ip:string,port:string,res:string):WebSocket|null {
    const url = "ws://"+ip+":"+port+res;
    console.log("url："+url);
    const websocket = new WebSocket(url);
    if(websocket){
        websocket.onopen = function(e){
            console.log(e);
            console.log("打开了一个socket通道");
        }
        return websocket
    };
    return null;
}

/**
 * 将blob对象中的二进制数据分片上传
 * 注意：File 对象是特殊类型的 Blob，且可以用在任意的 Blob 类型的上下文中。
 * @param ws 
 * @param data 
 */
const chunkedUploadByte = (ws:WebSocket|null,blobData:Blob,currentIndex:number,chunkBlobSize:number,endIndex:number)=>{
    // //创建一个文件读取对象
    // var reader = new FileReader();
    // //绑定文件读取成功完成时触发
    // reader.onload = function(e:any){
    //     console.log(e.target.result)
    // }
    // reader.readAsArrayBuffer(data);
    // let chunkBlob:Blob  = blobData.slice(currentIndex,currentIndex+chunkBlobSize);
    // while (currentIndex <= endIndex) {
    //     console.log(chunkBlob);
    //     currentIndex = currentIndex+chunkBlobSize;    
    // }
    ws?.send(blobData);
    
}

export {chunkedUploadByte,useWebSocket}